package com.nodecollege.cloud.service;

import com.nodecollege.cloud.common.model.LoginUser;
import com.nodecollege.cloud.common.model.NCResult;
import com.nodecollege.cloud.common.model.QueryVO;
import com.nodecollege.cloud.common.model.po.UpmsMember;

/**
 * 成员管理
 *
 * @author LC
 * @date 2019/12/12 15:16
 */
public interface MemberService {

    /**
     * 查询成员列表
     *
     * @param queryVO
     */
    NCResult<UpmsMember> getMemberList(QueryVO<UpmsMember> queryVO);

    /**
     * 更新成员
     *
     * @param upmsMember
     */
    void updateMember(UpmsMember upmsMember);

    /**
     * 删除成员
     *
     * @param upmsMember
     */
    void delMember(UpmsMember upmsMember);

    /**
     * 锁定解锁成员
     *
     * @param upmsMember
     */
    void lockMember(UpmsMember upmsMember);

    /**
     * 更新成员默认信息
     * @param member
     */
    void updateMemberDefaultInfo(UpmsMember member, LoginUser loginUser);

    /**
     * 初始化成员数据权限
     * @param loginUser
     */
    void initMemberDataPower(LoginUser loginUser);
}
